#include<bits/stdc++.h>
using namespace std;
namespace std{
    bool operator<(string a,string b){
        if(a.size()<b.size())return 1;
        else if(a.size()>b.size())return 0;
        for(auto i=a.begin(),j=b.begin();i!=a.end();i++,j++)
            if((*i)==(*j))continue;
            else return (*i)<(*j);
        return 0;
    }
}
string int_to_string(int x){
    string res;
    for(int i=1;i<=32;i++){
        res.push_back((x&1)+'0');
        x>>=1;
    }
    while(res[res.size()-1]=='0')res.pop_back();
    reverse(res.begin(),res.end());
    return res;
}
int find(string a,string b){
    if(a.size()<b.size())return 0;
    for(auto i=a.begin(),j=b.begin();j!=b.end();i++,j++)
        if((*i)!=(*j))return 0;
    return 1;
}
void solve(){
    int n;
    int pd[55]={0};
    multiset<string> s;
    cin>>n;
    for(int i=1,j;i<=n;i++){
        cin>>j;
        if(j<=n&&(!pd[j]))pd[j]=1;
        else s.insert(int_to_string(j));
    }
    for(int i=n;i;i--){
        if(pd[i])continue;
        string ss=int_to_string(i);
        for(auto j=s.begin();j!=s.end();j++)
            if(find(*j,ss)){pd[i]=1;s.erase(j);break;}
        if(!pd[i]){cout<<"NO\n";return;}
    }
    cout<<"YES\n";
}
int main () {
    ios::sync_with_stdio(false);
    int t;
    cin>>t;
    while(t--){
        solve();
    }
}